// pages/Orders/WechatPay/WechatPay.js
import { orderPay } from '../../../api/report';
import { queryUserWechatOpenId } from '../../../api/user';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orderCode: '',
    openid: '',
    type: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(options.orderCode){
      this.setData({
        orderCode: options.orderCode,
        type: options.type,
      })
    }
    this._queryUserWechatUnionId();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    let userId = wx.getStorageSync('userId')
    return {
      path: '/pages/Welcome/Welcome?scene='+userId,
    }
  },
  // 大数据查询支付
  reportPay(){
    let _this = this;
    orderPay({orderCode: _this.data.orderCode,openId: _this.data.openid})
    .then(res => {
      if(res.success){
        var order = JSON.parse(res.data);
        wx.requestPayment({
          timeStamp: order.timeStamp.toString(),
          nonceStr: order.nonceStr,
          package: order.package,
          signType: order.signType,
          paySign: order.paySign,
          success: () => {
            wx.navigateBack();
            wx.showToast({
              title: '支付成功',
              icon: 'success',
            })
          },
          fail: (err) => {
            console.log(err,'err')
            wx.showToast({
              title: '取消支付',
              icon: 'none',
            })
          }
        })
      }else{
        wx.showToast({
          title: res.errMessage,
          icon: 'none',
        })
      }
    })
  },
  // 获取用户的Openid
  _queryUserWechatUnionId(){
    let _this = this;
    wx.login({
      success: (logRes) => {
        queryUserWechatOpenId({code: logRes.code})
        .then(res => {
          if(res.success){
            _this.setData({
              openid: res.data.openid
            })
            if(_this.data.type == 'report'){
              _this.reportPay();
            }
          }else{
            wx.showToast({
              title: res.errMessage,
              icon: 'none',
            })
          }
        })
      }
    })
  },
})